package com.hmdp.config;

import com.hmdp.dto.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

// Lombok注解，自动在类中生成private static final Logger log = LoggerFactory.getLogger(WebExceptionAdvice.class);
@Slf4j
// @RestControllerAdvice：
// 1. @ControllerAdvice：标识该类是"全局Controller增强类"，作用于所有@RestController/@Controller；
// 2. @ResponseBody：让方法返回值自动转为JSON（适配接口响应）
@RestControllerAdvice
public class WebExceptionAdvice {

    /**
     * 指定该方法处理"所有RuntimeException及其子类"
     */
    @ExceptionHandler(RuntimeException.class)
    public Result handleRuntimeException(RuntimeException e) {
        log.error(e.toString(), e);
        return Result.error("全局服务器拦截异常");
    }
}
